#ifndef CARDPANEL_H
#define CARDPANEL_H

#include <QWidget>
#include "card.h"
#include "player.h"

class CardPanel : public QWidget
{
    Q_OBJECT
public:
    explicit CardPanel(QWidget *parent = nullptr);

    //设置图片，牌的正反面
    void Set_Image(const QPixmap& front, const QPixmap& back);
    const QPixmap& Get_Image()const;

    //设置扑克牌显示正面还是反面
    void Set_Front_Or_Back_Side(bool falg);
    //判断扑克牌目前是那一面
    bool Is_Front_Side();

    //记录窗口是否被选中
    void Set_Selected(bool flag);
    bool Is_Selected();

    //扑克牌的花色以及点数
    void Set_Card(const Card& card);
    const Card& Get_Card()const;

    //扑克牌的所有者
    void Set_Owner(Player* player);
    //当前扑克牌所属者
    Player* Get_Owner();

protected:
    //绘图事件
    void paintEvent(QPaintEvent* event);
    void mousePressEvent(QMouseEvent* event);


signals:
private:
    QPixmap front_;
    QPixmap back_;
    bool is_front_;
    bool is_selete_;
    Card card_;
    Player* ower_;
};

#endif // CARDPANEL_H
